package pe.edu.sistemas.postgrado.samupg.view.controller;

import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.springframework.stereotype.Controller;
import pe.edu.sistemas.postgrado.samupg.business.service.marketing.ExamenService;
import pe.edu.sistemas.postgrado.samupg.domain.model.Alternativa;
import pe.edu.sistemas.postgrado.samupg.domain.model.Pregunta;

/**
 *
 * @author Marlon
 */
@ManagedBean
@ViewScoped
@Controller
public class SimulacroOnlineController {

    private List<Pregunta> listPreguntas;
    private Integer puntaje;
    @Resource
    private ExamenService examenService;

    /**
     * Creates a new instance of SimulacroOnlineController
     */
    public SimulacroOnlineController() {
        listPreguntas = new ArrayList<Pregunta>();
    }

    @PostConstruct
    public void init() {
        listPreguntas = examenService.getPreguntasXPeriodo(1);
    }

    public String validarExamenAction() {
        puntaje = 0;
        Alternativa alternativaCorrecta = null;
        for (Pregunta pregunta : listPreguntas) {
            for (Alternativa alternativa : pregunta.getAlternativas()) {
                if (alternativa.getCorrecta()) {
                    alternativaCorrecta = alternativa;
                }
            }
            if (pregunta.getRespuestaxUsuario().equals(alternativaCorrecta.getDescripcion())) {
                puntaje+=5;
            }
        }
        
        FacesMessage facesMessage = new FacesMessage("Saco " + puntaje + " puntos");
        FacesContext.getCurrentInstance().addMessage(null, facesMessage);
        return null;
    }

    public List<Pregunta> getListPreguntas() {
        return listPreguntas;
    }

    public void setListPreguntas(List<Pregunta> listPreguntas) {
        this.listPreguntas = listPreguntas;
    }
}
